package cn.com.bluemoon.bd.flink.pojo;

import cn.com.bluemoon.bd.flink.enumtype.StateBackendType;
import lombok.Data;
import org.apache.flink.api.java.utils.ParameterTool;
import org.apache.flink.streaming.api.CheckpointingMode;

@Data
public class EnvConfig {
    private CheckpointingMode checkpointingMode;
    private String checkpointPath;
    private long checkpointMs;
    private long checkpointInterval;
    private long checkpointTimeout;
    private int checkpointFailureNum;
    private int checkpointCleanUp;
    private ParameterTool parameterTool;
    //stateBackend类型
    private StateBackendType stateBackendType;
    private int changelogEnable;

    public EnvConfig(CheckpointingMode checkpointingMode, String checkpointPath, long checkpointMs, long checkpointInterval, long checkpointTimeout, int checkpointFailureNum, int checkpointCleanUp, StateBackendType stateBackendType, int changelogEnable) {
        this.checkpointingMode = checkpointingMode;
        this.checkpointPath = checkpointPath;
        this.checkpointMs = checkpointMs;
        this.checkpointInterval = checkpointInterval;
        this.checkpointTimeout = checkpointTimeout;
        this.checkpointFailureNum = checkpointFailureNum;
        this.checkpointCleanUp = checkpointCleanUp;
        this.stateBackendType = stateBackendType;
        this.changelogEnable = changelogEnable;
    }
}
